package com.crr;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Productor {
    public static void main(String[] args) throws IOException, TimeoutException {
        //创建连接工厂 创建连接
        ConnectionFactory factory = new ConnectionFactory();
        factory.setVirtualHost("/");
        factory.setPort(5672);
        factory.setUsername("user");
        factory.setPassword("chen1116.");
        // factory.setHost("127.0.0.1");

        //创建连接
        Connection conn=factory.newConnection();
        //创建信道
        Channel channel=conn.createChannel();
        //声明队列
        String queueName="work-manual";
        /**
         * 参数说明
         * 1 queueName 队列的名称
         * 2 durable 对列是否持久化  true 支持持久化 mq服务器重启仍然存在 false 若队列没有消息 队列会删除
         * 3 exclusive 是否独占 true 独占生产者消费者必须使用同一个链接
         * 4 autoDelete 队列是否自动删除
         * 5 arguments 附加参数
         */
        channel.queueDeclare(queueName,false,false, false,null);
        //发送消息
        String []msg={".","......","..","....","................"};
        for(String m:msg){
             channel.basicPublish("",queueName,null,m.getBytes());
        }
        /**
         * 参数说明
         * 1 exchange 交换器
         * 2 routingKey 路由键 如有交换器会根据路由键投递 在hello模式下就是队列名称
         * 3 BasicProperties 路由头信息
         * 4 body 要发送的消息
         */


        //释放资源
        channel.close();
        conn.close();
        System.out.println("消息已发送");
    }
}
